package com.qlyl.modules.information.service;

import com.qlyl.common.api.vo.Result;
import com.qlyl.common.system.base.service.JeecgService;
import com.qlyl.modules.information.entity.AppUser;
import com.qlyl.modules.information.entity.EthWallet;

public interface IAppUserService extends JeecgService<AppUser> {

    /**
     * 重置密码
     *
     * @param username
     * @param oldpassword
     * @param newpassword
     * @param confirmpassword
     * @return
     */
    public Result<?> resetPassword(String username, String oldpassword, String newpassword, String confirmpassword);

    /**
     * 修改密码
     *
     * @param appUser
     * @return
     */
    public Result<?> changePassword(AppUser appUser);


    /**
     * 根据手机号获取用户名和密码
     */
    public AppUser getAppUserByPhone(String cphone);

    public AppUser getAppUserByName(String username);

    public AppUser getAppUserUserByEmail(String email);

    /**
     * 根据ids修改绑定认领审核状态
     * ids为用户id用英文逗号分割的拼接串
     */
    public boolean frozenBatchChcek(String ids,String status);

    /**
     * 校验用户是否有效
     *
     * @param appUser
     * @return
     */
    Result checkUserIsEffective(AppUser appUser);

    /**
     * 生成区块链钱包，并插入钱包生成记录
     *
     * @param
     * @return
     */
    public EthWallet createWallet();
}
